home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / awt / DebugSettings.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  4.0 KB  |  157 lines

  1. package sun.awt;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FileNotFoundException;
  7. import java.io.IOException;
  8. import java.io.PrintStream;
  9. import java.io.StringBufferInputStream;
  10. import java.security.AccessController;
  11. import java.util.Enumeration;
  12. import java.util.Properties;
  13. import java.util.Vector;
  14.  
  15. final class DebugSettings {
  16.    static final String PREFIX = "awtdebug";
  17.    static final String PROP_FILE = "properties";
  18.    private static final String[] DEFAULT_PROPS = new String[]{"awtdebug.assert=true", "awtdebug.trace=false", "awtdebug.on=true", "awtdebug.ctrace=false"};
  19.    private static DebugSettings instance = null;
  20.    private Properties props = new Properties();
  21.  
  22.    static DebugSettings getInstance() {
  23.       if (instance == null) {
  24.          instance = new DebugSettings();
  25.       }
  26.  
  27.       return instance;
  28.    }
  29.  
  30.    private DebugSettings() {
  31.       (new 1(this)).run();
  32.    }
  33.  
  34.    private synchronized void loadProperties() {
  35.       AccessController.doPrivileged(new 2(this));
  36.       this.println(this);
  37.    }
  38.  
  39.    public String toString() {
  40.       Enumeration var1 = this.props.propertyNames();
  41.       ByteArrayOutputStream var2 = new ByteArrayOutputStream();
  42.       PrintStream var3 = new PrintStream(var2);
  43.       var3.println("------------------");
  44.       var3.println("AWT Debug Settings");
  45.       var3.println("------------------");
  46.  
  47.       while(var1.hasMoreElements()) {
  48.          String var4 = (String)var1.nextElement();
  49.          String var5 = this.props.getProperty(var4, "");
  50.          var3.println(var4 + "=" + var5);
  51.       }
  52.  
  53.       var3.println("------------------");
  54.       return new String(var2.toByteArray());
  55.    }
  56.  
  57.    private void loadDefaultProperties() {
  58.       try {
  59.          for(int var1 = 0; var1 < DEFAULT_PROPS.length; ++var1) {
  60.             StringBufferInputStream var2 = new StringBufferInputStream(DEFAULT_PROPS[var1]);
  61.             this.props.load(var2);
  62.             var2.close();
  63.          }
  64.       } catch (IOException var3) {
  65.       }
  66.  
  67.    }
  68.  
  69.    private void loadFileProperties() {
  70.       String var1 = System.getProperty("awtdebug.properties", "");
  71.       if (var1.equals("")) {
  72.          var1 = System.getProperty("user.home", "") + File.separator + "awtdebug" + "." + "properties";
  73.       }
  74.  
  75.       File var3 = new File(var1);
  76.  
  77.       try {
  78.          this.println("Reading debug settings from '" + var3.getCanonicalPath() + "'...");
  79.          FileInputStream var4 = new FileInputStream(var3);
  80.          this.props.load(var4);
  81.          var4.close();
  82.       } catch (FileNotFoundException var5) {
  83.          this.println("Did not find settings file.");
  84.       } catch (IOException var6) {
  85.          this.println("Problem reading settings, IOException: " + var6.getMessage());
  86.       }
  87.  
  88.    }
  89.  
  90.    private void loadSystemProperties() {
  91.       Properties var1 = System.getProperties();
  92.       Enumeration var2 = var1.propertyNames();
  93.  
  94.       while(var2.hasMoreElements()) {
  95.          String var3 = (String)var2.nextElement();
  96.          String var4 = var1.getProperty(var3, "");
  97.          if (var3.startsWith("awtdebug")) {
  98.             this.props.setProperty(var3, var4);
  99.          }
  100.       }
  101.  
  102.    }
  103.  
  104.    public synchronized boolean getBoolean(String var1, boolean var2) {
  105.       String var3 = this.getString(var1, String.valueOf(var2));
  106.       return var3.equalsIgnoreCase("true");
  107.    }
  108.  
  109.    public synchronized int getInt(String var1, int var2) {
  110.       String var3 = this.getString(var1, String.valueOf(var2));
  111.       return Integer.parseInt(var3);
  112.    }
  113.  
  114.    public synchronized String getString(String var1, String var2) {
  115.       String var3 = "awtdebug." + var1;
  116.       String var4 = this.props.getProperty(var3, var2);
  117.       return var4;
  118.    }
  119.  
  120.    public synchronized Enumeration getPropertyNames() {
  121.       Vector var1 = new Vector();
  122.       Enumeration var2 = this.props.propertyNames();
  123.  
  124.       while(var2.hasMoreElements()) {
  125.          String var3 = (String)var2.nextElement();
  126.          var3 = var3.substring("awtdebug".length() + 1);
  127.          var1.addElement(var3);
  128.       }
  129.  
  130.       return var1.elements();
  131.    }
  132.  
  133.    private void println(Object var1) {
  134.       DebugHelperImpl.printlnImpl(var1.toString());
  135.    }
  136.  
  137.    // $FF: synthetic method
  138.    static void access$000(DebugSettings var0) {
  139.       var0.loadProperties();
  140.    }
  141.  
  142.    // $FF: synthetic method
  143.    static void access$100(DebugSettings var0) {
  144.       var0.loadDefaultProperties();
  145.    }
  146.  
  147.    // $FF: synthetic method
  148.    static void access$200(DebugSettings var0) {
  149.       var0.loadFileProperties();
  150.    }
  151.  
  152.    // $FF: synthetic method
  153.    static void access$300(DebugSettings var0) {
  154.       var0.loadSystemProperties();
  155.    }
  156. }
  157.